perm filename ARRAY.MS[MEW,AIL] blob
sn#091959 filedate 1974-03-19 generic text, type T, neo UTF8
1) ARRAY vs. 2) ARRAY[S,AIL] SRCCOM 03-19-74 03:35 PAGES 1,1
******** ARRAY **** PAGE 1
1) COMMENT ⊗ VALID 00016 PAGES VERSION 17-1(11)
1) RECORD PAGE DESCRIPTION
*** ARRAY[S,AIL] *** PAGE 1
2) COMMENT ⊗ VALID 00016 PAGES VERSION 17-1(10)
2) RECORD PAGE DESCRIPTION
******** ARRAY **** PAGE 1
1) 00038 00009
1) 00043 00010 ADCND:
1) 00047 00011 DSCR LDYBEG, LDYREP, LDYNO
1) 00052 00012 DSCR ARYIDX, ARRSBY, ARRSB1
1) 00054 00013 FIRST PART SETS UP ARRBIT TO INDICATE EXACT CONDITIONS
1) 00060 00014 CHECK UPPER BOUNDS
1) 00065 00015 DSCR SUBSCR
1) 00071 00016 DSCR DOSFTY
1) 00072 ENDMK
1) ⊗;
*** ARRAY[S,AIL] *** PAGE 1
2) 00037 00009
2) 00042 00010 ADCND:
2) 00046 00011 DSCR LDYBEG, LDYREP, LDYNO
2) 00051 00012 DSCR ARYIDX, ARRSBY, ARRSB1
2) 00053 00013 FIRST PART SETS UP ARRBIT TO INDICATE EXACT CONDITIONS
2) 00059 00014 CHECK UPPER BOUNDS
2) 00064 00015 DSCR SUBSCR
2) 00070 00016 DSCR DOSFTY
2) 00071 ENDMK
2) ⊗;
******** ARRAY **** PAGE 2
1) 021 102100000013 ⊗;
1) COMMENT ⊗
1) VERSION 17-1(11) 3-17-74 BY RLS INSTALL TENEX
1) VERSION 17-0(10) 2-24-74 BY JRL BUG #RK#
1) VERSION 17-1(9) 2-13-74 BY JRL BUG #RE# STRING ITEMVAR ARRAY NOT A STRING
*** ARRAY[S,AIL] *** PAGE 2
2) 021 102100000012 ⊗;
2) COMMENT ⊗
2) VERSION 17-1(10) 2-24-74 BY JRL BUG #RK#
2) VERSION 17-1(9) 2-13-74 BY JRL BUG #RE# STRING ITEMVAR ARRAY NOT A STRING
******** ARRAY **** PAGE 4
1) ?LDYFLG: 0 ;ON DURING ARRAY ALLOC IF PRELOADED OR PRESET
1) ;;#MG# RHT 1 OF 3
1) ARRAY vs. 2) ARRAY[S,AIL] SRCCOM 03-19-74 03:35 PAGES 4,4
*** ARRAY[S,AIL] *** PAGE 4
2) ?LDYFLG: 0 ;ON DURING ARRAY ALLOC IF PRELOADED ARRAY
2) ;;#MG# RHT 1 OF 3
******** ARRAY **** PAGE 4
1) ?LDCNST: 0 ;ON DURING ARRAY ALLOC IF PRESET
1) ;LDYSTK -- QSTACK dscrptr. -- each word is [XWD rept,Semantics of const]
*** ARRAY[S,AIL] *** PAGE 4
2) ;LDYSTK -- QSTACK dscrptr. -- each word is [XWD rept,Semantics of const]
******** ARRAY **** PAGE 8
1) SKIPN HISW ;REENTRANT COMPILATION AND
1) JRST DLOSET
1) SKIPGE LDYFLG ;PRELOADED AND
1) SKIPN LDCNST ;PRESET ARRAY?
1) JRST DLOSET ;NO
1) PUSHJ P,HISET
1) SKIPA ;OVER NEXT INST
1) DLOSET: PUSHJ P,LOSET ;SWITCH TO DATA PC
1) >;REN
*** ARRAY[S,AIL] *** PAGE 8
2) PUSHJ P,LOSET ;SWITCH TO DATA PC
2) >;REN
******** ARRAY **** PAGE 8
1) SKIPN HISW ;JUMPING AROUND ARRAYS NOT
1) JRST NEDJMP ; NECESSARY IN RE-ENTRANT PROGRAM
1) SKIPGE LDYFLG ;UNLESS PRELOADING AND
1) SKIPN LDCNST ; PRESETTING
1) JRST NOJ ;
1) NEDJMP:
1) >;REN
*** ARRAY[S,AIL] *** PAGE 8
2) SKIPE HISW ;JUMPING AROUND ARRAYS NOT
2) JRST NOJ ; NECESSARY IN RE-ENTRANT PROGRAM
2) >;REN
******** ARRAY **** PAGE 9
1) SKIPN HISW ;MUST JUMP IF NOT REENTRANT PROGRAM
1) JRST ALNDJP
1) SKIPGE LDYFLG ;OR IF PRELOADING
1) SKIPN LDCNST ;AND PRESETTING
1) CAIA
1) >;REN
1) ARRAY vs. 2) ARRAY[S,AIL] SRCCOM 03-19-74 03:35 PAGES 9,9
1) ALNDJP:
1) PUSHJ P,FBOSWP ;JRST FIXUP
*** ARRAY[S,AIL] *** PAGE 9
2) SKIPN HISW ;DON'T DO JUMP IF RE-ENTRANT PROG
2) >;REN
2) PUSHJ P,FBOSWP ;JRST FIXUP
******** ARRAY **** PAGE 9
1) FXBLK:
1) ;; #RK# (4 OF 5) ITEMVAR NOT A STRING
1) TRNN TBITS,ITEM!ITMVAR
1) TRNN TBITS,STRING ;NAME LOC IF BILTIN
1) JRST .+2
1) ;; #RK#
1) AOS OWNWD ;1 PAST IF STRING
1) POP P,B ;HDR ADDR, ONE MORE TIME
*** ARRAY[S,AIL] *** PAGE 9
2) FXBLK:
2) ;; #RK# (4 OF 5) ITEMVAR NOT A STRING
2) TRNN TBITS,ITEM!ITMVAR
2) TRNN TBITS,STRING ;NAME ARRAY LOC IF BILTIN
2) JRST .+2
2) ;; #RK#
2) AOS OWNWD ;1 PAST IF STRING
2) POP P,B ;HDR ADDR, ONE MORE TIME
******** ARRAY **** PAGE 10
1) SKIPN HISW ;IF REENTRANT
1) JRST NWORRY
1) SKIPGE LDYFLG ;AND PRELOADING AND
1) SKIPE LDCNST ;PRESETTING
1) JRST NWORRY ;THEN WORRY
1) ADDI B,(D) ;VIRTUAL ORIGIN
1) TRNN B,400000 ;OR NOT NEGATIVE
1) JRST NWORRY ;WON'T CAUSE FIXUP PROBLEM
1) SKIPE OWNWD ;DON'T WORRY IF NOT AN OWN ARRAY
*** ARRAY[S,AIL] *** PAGE 10
2) ADDI B,(D) ;VIRTUAL ORIGIN
2) SKIPE HISW ;IF NOT REENTRANT
2) TRNN B,400000 ;OR NOT NEGATIVE
2) JRST NWORRY ;WON'T CAUSE FIXUP PROBLEM
2) SKIPE OWNWD ;DON'T WORRY IF NOT AN OWN ARRAY
******** ARRAY **** PAGE 10
1) SETZM LDCNST ;ALSO ZERO OUT LDCNST FLAG
1) ARRAY vs. 2) ARRAY[S,AIL] SRCCOM 03-19-74 03:35 PAGES 10,10
1) ;;#MI#
*** ARRAY[S,AIL] *** PAGE 10
2) ;;#MI#
******** ARRAY **** PAGE 11
1) ↑LDYSET: SETOM LDCNST ;INDICATE PRESETTING
1) SKIPA ;OVER NEXT INSTRUCTION
1) ↑LDYBEG:SETZM LDCNST
1) MOVEI A,0
1) QPUSH (LDYSTK) ;PUSH IT ON.
*** ARRAY[S,AIL] *** PAGE 11
2) ↑LDYBEG: MOVEI A,0
2) QPUSH (LDYSTK) ;PUSH IT ON.
******** ARRAY **** PAGE 13
1) TRNN TBITS,STRING ;IF STRING ARRAY, ADJUST
1) JRST .+2
*** ARRAY[S,AIL] *** PAGE 13
2) TRNN TBITS,STRING ;IF STRING ARRAY, ADJUST
2) JRST .+2
******** ARRAY **** PAGE 15
1) ;; #RE# (1 OF 2) A STRING ITEMVAR ARRAY OR STRING ARRAY ITEMVAR ARRAY IS NOT A STRING
1) TRNE SP,ITMVAR
*** ARRAY[S,AIL] *** PAGE 15
2) ;; #RE# (1 OF 2) A STRING ITEMVAR ARRAY OR STRING ARRAY ITEMVAR ARRAY IS NOT A STRING
2) TRNE SP,ITMVAR